package com.open4cn.simulator.core.device;

import com.open4cn.simulator.core.connector.IConnector;

/**
 * @author yinxiaopeng
 * @version 1.0.0
 * @company 致景科技
 * @department 飞梭BU/研发
 * @description
 * @Email yinxiaopeng@zj.tech
 * @date 2022-03-14 23:41
 */
public interface IDevice {

    /**
     * 设备唯一标识
     *
     * @return
     */
    String getId();


    /**
     * 获取设备通信连接器
     *
     * @return
     */
    IConnector getConnector();


    /**
     * 获取设备状态
     *
     * @return
     */
    DeviceStatus getDeviceStatus();

    /**
     * 获取设备详情
     *
     * @return
     */
    DeviceInfo getDeviceInfo();


    /**
     * 启动设备
     *
     * @return
     */
    boolean start();


    /**
     * 暂停设备
     *
     * @return
     */
    boolean suspend();

    /**
     * 停止设备
     *
     * @return
     */
    boolean stop();


    /**
     * 销毁设备
     */
    boolean destroy();


}
